//
// Created by 32827 on 2024/2/6.
//

#ifndef YZGD32_YZF_TIM_H
#define YZGD32_YZF_TIM_H
#include "yzf.h"

YZF_RESULT yzf_tim_open_clock(YZF_TIM_POINTER ptr);
YZF_RESULT yzf_tim_enable(YZF_TIM_POINTER ptr);
YZF_RESULT yzf_tim_disable(YZF_TIM_POINTER ptr);
YZF_RESULT yzf_tim_clock_div(YZF_TIM_POINTER ptr,uint16_t div);
YZF_RESULT yzf_tim_set_dir(YZF_TIM_POINTER ptr,YZF_BOOL isUP);
//更新中断
YZF_RESULT yzf_tim_int_UP(YZF_TIM_POINTER ptr,YZF_BOOL isEnable);
YZF_BOOL yzf_tim_flag_upie(YZF_TIM_POINTER ptr);
YZF_RESULT yzf_tim_flag_clear_upie(YZF_TIM_POINTER ptr);

uint32_t yzf_tim_get_count(YZF_TIM_POINTER ptr);
YZF_RESULT yzf_tim_set_count(YZF_TIM_POINTER ptr,uint32_t count);
//重新装载
YZF_RESULT yzf_tim_set_period(YZF_TIM_POINTER ptr,uint32_t period);
//预分频
YZF_RESULT yzf_tim_set_prescaler(YZF_TIM_POINTER ptr,uint16_t prescaler);
#endif //YZGD32_YZF_TIM_H
